package com.company.day3;

public class PrimePalindromes {
    public static void main(String[] args) {
    // 判断回文素数
        int count = 0;  // 计数回文素数个数
        for (int n = 2; n < 100000 ; n++) {
            if(PalindromesNumber(n) == 1 && PrimeNumber(n) == 1){
                System.out.print(n+ " ");
                count++;
                if(count == 100){
                    break;
                }
                if(count % 10 == 0){
                    System.out.println();
                }
            }
        }
    }

    // 判断回文数
    public static int PalindromesNumber(int n){
        // 一位数均为回文数
        if(n >= 1 && n < 10){
            return 1;
        }

        // 两位数的回文数
        if(n >= 10 && n < 100){
            int m = (n % 10 ) * 10 + n / 10;
            if(m == n){
                return 1;
            }
        }

        // 三位数的回文数
        if(n >= 100 && n < 1000){
            int m = (n % 10 ) * 100 + (n / 10) % 10 * 10 + n / 100;
            if(m == n){
                return 1;
            }
        }

        // 四位数的回文数
        if(n >= 1000 && n < 10000){
            int m = (n % 10 ) * 1000 + (n / 10) % 10 * 100 + (n / 100) % 10 * 10 +  n / 1000;
            if(m == n){
                return 1;
            }
        }

        // 五位数的回文数
        if(n >= 10000 && n < 100000){
            int m = (n % 10 ) * 10000  + (n / 10) % 10 * 1000 + (n / 100) % 10 * 100 + (n / 1000) % 10 * 10 + n / 10000;
            if(m == n){
                return 1;
            }
        }
        return 0;
    }


    // 判断素数
    public static int PrimeNumber(int n) {
        for (int i = 2; i < n ; i++) {
            if(n % i == 0){
                return 0;
            }
        }
    return 1;

    }
}
